The present invention relates to a non-linear editing system and method for editing video and audio source information and the like. More specifically, the present invention relates to a non-linear editing system and a method of constructing and/or rendering an edit therewith.
Non-linear video editing systems are known and include systems manufactured by AVID, Quantel and others and the SOFTIMAGE Eddie system sold by the assignee of the present invention. Non linear video editing systems allow a user to join, manipulate and/or modify digital or digitized information from various video sources to create a finished work for rendering to an appropriate storage media or output. The sources generally need not be accessed in a linear manner and are instead accessed as required, i.e.xe2x80x94the last three seconds of a ten second video clip can be accesses without accessing the first seven seconds or individual video frames can be accessed and/or combined as desired. Non-linear audio editing systems are also known and allow a user to select, join manipulate and modify digital or digitized audio sources within imposing linear access requirements.
For example, a non-linear video editor can be used to construct the video portion of a television advertisement for a new model of car, by connecting digitized video clips of the new car driving on a country road, digital video clips of a driver in the car and digitized video clips of the car in a wind test tunnel with engineers standing about it. A non-linear audio editor can be used to create an audio soundtrack for the advertisement, comprising a selection of classic music mixed with a narrator""s voice-over discussing the features of the car. The audio and video edits are then rendered to an appropriate sink, such as a VTR, RAID array, or a monitor, to obtain the finished commercial.
For the video edit, the user of the editor selects the desired video sources, their duration and order and the types of transitions between them (fades, dissolves, wipes, blends, etc.). A similar process is followed for the audio edit.
Generally, when an edit is created with such systems, a data structure or file is produced which represents the edit and defines hows the sources, such as CD""s or file storage systems and linear sources, if present, such as CD""s and VTR""s; functions, such as dissolves, wipes, etc.; and sinks, such as DAT""s, VTR""s, CD-R""s, file storage systems etc. are to be manipulated to render the edit. Depending upon the edit and the edit system, it may be required to xe2x80x98renderxe2x80x99 the edit to a sink for subsequent playback or the edit may be run in real time.
Problems exist with the prior art non-linear editing systems of which the present inventors are aware. For example, in many systems of which the inventors are aware, video and audio edits are performed with separate editors, or in separate edit modules which may have different and/or inconsistent user interfaces. Further, in some systems it is difficult or onerous to insert a clip into an edit, if subsequent clips are to be displaced along the edit.
Perhaps more troubling is the fact that prior art systems may include a variety of redundant entries in the data structure or file which represents the edit, thus utilizing memory and/or system capacity which would otherwise not be required for the edit. Also, in the prior art systems it is difficult to determine if an edit which has been created can be rendered in real time or whether portions of the edit must be pre-rendered. In this latter case, it can be required that the user of the editor determine which portions of the edit should be pre-rendered.
It is therefore desired to have a non-linear editing system which can operate on both video and/or audio information with a consistent user interface, a system which can determine relatively simply and effectively whether a edit can be performed in real time and a system which makes reasonably efficient use of the memory and hardware available to the editing system.
It is an object of the present invention to provide a novel non-linear editing system and a novel method of non-linear editing which obviates or mitigates at least one of the disadvantages of the prior art non-linear editing systems and methods.
According to a first aspect of the present invention, there is provided a method of constructing an edit in a nonlinear editing system, comprising the steps of:
(i) defining at least one time line representing an edit of source materials;
(ii) constructing a graph of operators which corresponds to said defined at least one time line, operators in said graph representing sources, functions and/or effects employed in said at least one time line and said graph representing connections between said operators, said connections changing with time according to said defined time line;
(iii) for each time period between said connection changes in each said at least one time line, extracting an expression tree from said graph of operators which represents the operators and connections therebetween in said time period; and
(iv) processing each said extracted expression tree in time order to render said time line.
According to another aspect of the present invention, there is provided a nonlinear editing system for editing source information to construct and render an edit, comprising:
storage means to store source information;
a graphical user interface with which a user can construct a time line from said source information and one or more effects or functions;
graph means to construct an operator graph comprising two or more operators, each of said operators corresponding to a source, effect or function in said time line, and at least one connection representing the relationship between said two or more operators, said at least one connection changing at time points in accordance with said time line;
extraction means to extract at least one expression tree from said operator graph, said at least one expression tree representing the sources, effects and functions and the connections therebetween required to render a portion of said time line between connection changes; and
rendering means responsive to said at least one expression tree to render the portion of said time line represented by said expression tree.